var page;//物料表的页码
var _index = -1;//物料表的下标（用于表勾选）
var rowIndex = "%^%%%%";//物料表的下标（用于改变选中行样式）
var rowindex = "";
var checkDatas = [];//获取质检项列表里的数据
var fnumber = "-1";
var fmodel = "-1";
var fname = "";
var _fItemID= -1;
/*
 * @Description: 预加载
 * @param : 
 */
$(function (){
	resizeIframeHight();
	fnResize();
	setTimeout(function() {
		initMaterielListTable();
		initCheckListTable();
	}, 100);

	//点击Tab刷新表格
//	$(".CK",parent.document).click(function(){
//		$('#materielListTable').bootstrapTable('refresh');
//		setTimeout(function(){
//			if(_index != -1){
//				$('#materielListTable').bootstrapTable('check',_index);
//			}
//		},500);
//	});
});
/*
 * @Description: 初始化物料表
 * @param : 
 */
function initMaterielListTable(){
	$('#materielListTable').bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("icitem/selectByImportantInfo.action"),//请求后台的URL
//		height : 242,//行高
		method : "POST",//请求方式
		//striped : true,//是否显示行间隔色
		cache : false,//是否使用缓存，默认为true
		clickToSelect : true,//是否启用点击选中行
		singleSelect : true,//是否单选
		pagination : true,//是否显示分页
		pageNumber : 1,//初始化加载第几页
		pageSize : 10,//每页的记录行数
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页
		pageList : [ 10, 30, 60, 100, 'All'],//可供选择的每页的行数
		rowStyle : function(row, index) {//自定义样式，参数为：row：行数据，index：行下标
			var classes = [ 'success' ];
			if (index == rowIndex) {
				return {
					classes : classes[0]
				};
			}
			return {};
		},
		queryParams : function(params){//传递参数
			var data= {};
			data.offset = params.offset;
			data.row = params.limit;
			data.fNumber = $("#fNumber").val();
			data.fName = $("#fName").val();
			data.fModel = $("#fModel").val();
			return data;
		},
		dataType : 'JSON',//数据类型
		uniqueId : "id",//每一行的唯一标识，一般为主键列
		columns : [/*{
			checkbox : true
		},*/{
			field : "fNumber",
			align : 'left',
			valign: 'middle',
	//		sortable : true,
			title : '物料代码',
			edit : false
		},{
			field : "fName",
			align : 'left',
			title : '物料名称',
	//		sortable : true,
			valign: 'middle',
			edit : false
		},{
			field : "fModel",
			align : 'left',
			valign: 'middle',
	//		sortable : true,
			title : '规格型号',
			edit : false
		}],
		onClickRow: function (row,$element) {//行单击
//			console.log(row)
			var fErpClsID = row.fErpClsID;//1是外购，2是自制
			if(fErpClsID == 1){
				$("#show").hide();
			}else{
				$("#show").show();
			}
			fnumber=row.fNumber;
			fmodel=row.fModel;
			fname=row.fName;
			_fItemID=row.fItemID;

			console.log(_fItemID);
			$('.success').removeClass('success');// 去除之前选中的行的，选中样式
			$($element).addClass('success');// 添加当前选中的 success样式用于区别
			index = $element.data('index');
			_index = $element.data('index');
			rowIndex = index;
			page = $('.pagination .active').find("a").eq(0).text();
			
			$("#fItemID").val(row.fItemID);
			procedureSelect();
			initCheckListTable();
		},
		onPageChange : function(number, size) {//翻页
			if (page == number) {
				rowIndex = index;
				setTimeout(function(){
					$('#materielListTable').bootstrapTable('check',_index);
				},200);
			} else {
				$('.success').removeClass('success');
				rowIndex = "%^%%%%";
			}
		},
		onUncheck : function(index){//取消勾选
			$('.success').removeClass('success');
			rowIndex = "%^%%%%";
			$("#fItemID").val("");
		}
	});
}
/*
 * @Description: 查询按钮点击事件
 * @param : 
 */
$("#cx").click(function(){
	reset();
});

/**
 * 添加回车触发搜索事件
 * @param event
 * @returns
 */
$('#fNumber, #fName, #fModel').keypress(function(event) {
	if (event.keyCode === 13) {
		reset();
	}
});

/*
 * @Description: 重置按钮点击事件
 * @param : 
 */
$("#cz").click(function(){
	$(".clean_c").val("");
	reset();
});
/*
 * @Description: 重置方法
 * @param : 
 */
function reset(){
	initMaterielListTable();
	$('.success').removeClass('success');
	rowIndex = "%^%%%%";
	$("#show").show();
	$("#fItemID").val("");
	$('#procedure').selectpicker('destroy');
	procedureSelect();
	initCheckListTable();
}
/*
 * @Description: 工序下拉列表
 * @param : 
 */
function procedureSelect() {
	var fItemID = $("#fItemID").val()==""?-1:$("#fItemID").val();
	$.ajax({
		url : pathUrl("routing/findByRoutingOper.action"),
		type : "POST",
		dataType : "JSON",
		async : false,
		data : {"fItemID" : fItemID},
		success : function(ret) {
			var val = ret.rows;
			var option = "";
			if(val.length != 0){
				option = "<option value=''>无</option>";
				$("#procedure").empty();
				for (x in val) {
					var str = val[x].fOperSN + "-" +  val[x].fOper;
					option += '<option value="' + val[x].fOperSN + '">' + str + '</option>';
				}
			}
			$("#procedure").html(option);
			$('#procedure').selectpicker('refresh');
		}
	});
}
/*
 * @Description: 初始化检查项表
 * @param : 
 */
function initCheckListTable(){
	$('#checkListTable').bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("checkTemplateEntry/findByCondition.action"),//请求后台的URL
//		height : 242,//行高
		method : "POST",//请求方式
//		striped : true,//是否显示行间隔色
		cache : false,//是否使用缓存，默认为true
//		clickToSelect : true,//是否启用点击选中行
//		singleSelect : true,//是否单选
//		pagination : true,//是否显示分页
//		pageNumber : 1,//初始化加载第几页
//		pageSize : 5,//每页的记录行数
     	sidePagination : "server", // 分页方式：client客户端分页，server服务端分页
//		pageList : [ 5, 15, 30, 60, 100, 'All'],//可供选择的每页的行数
		queryParams : function(params){//传递参数
			var data= {};
			var procedure = "";
			procedure = $("#procedure").val();
			if($("#procedure").is(":visible")){//判断选择工序下拉框是否隐藏
				//data.fOperSN=-1;
				data.fOperSN = procedure;
			} else {
				//data.fOperSN=-1;
				data.fOperSN = procedure;
			}
			data.fNumber = fnumber;
//			console.log(data)
			return data;
		},
		dataType : 'JSON',//数据类型
		uniqueId : "id",//每一行的唯一标识，一般为主键列
		columns : [{
			field : "fName",
			align : 'left',
			valign: 'middle',
			//sortable : true,
			title : '检查项名称',
			class : 'editfocus'
		},{
			field : "fStandardValue",
			align : 'left',
			title : '标准值',
			//sortable : true,
			valign: 'middle'
		},{
			field : "fUpperLimit",
			align : 'left',
			valign: 'middle',
			//sortable : true,
			title : '上限'
		},{
			field : "fLowerLimit",
			align : 'left',
			valign: 'middle',
			//sortable : true,
			title : '下限'
		}/*,{
			field : "fUnitId",
			align : 'center',
			valign: 'middle',
			//sortable : true,
			title : '单位'
		}*/,{
			field : 'operate',//如需导出execl field必填operate，否则操作行会被导出
			align : 'center',
			valign: 'middle',
			title : '操作',
			formatter : function(value,row,index){
				return '<button type="button" class="btn btn-danger delete" style="font-size:12px;margin-right:5px;">删除</button>';
			},
			events : operateEvents,
			edit : false
		}],
		onClickRow: function (row,$element) {//行单击
//			console.log(row)
		},
		onLoadSuccess:function(data){
//			console.log(data);
		}
	});
}
/*
 * @Description: 表操作事件
 * @param :
 */
/*window.operateEvents= {
	'click .delete' : function(e, value, row, index) {//删除按钮点击事件
		showSwal(
			'删除',
			'您确定删除这条检查项吗？',
			'是的，确定删除',
			function(result){//isConfirm 点击确定按钮，参数true/false
				if(result.value){
					$("#checkListTable").bootstrapTable('removeRow',index);
				}
			}
		);
	}
}

*/
window.operateEvents= {
		'click .delete' : function(e, value, row, index) {//删除按钮点击事件
			showSwal(
				'删除',
				'您确定删除这条检查项吗？',
				'是的，确定删除',
				function(result){
					if(result.value){
						showLoading();//显示正在提交中
						$.ajax({
							url : pathUrl("checkTemplate/removeTemplate.action"),
							type : "POST",
							dataType : "JSON",
							data : { 'fItemID':_fItemID,'fEntryId':row.fEntryId,'fOperSN':row.fOperSN},
							success : function(data) {
								// console.log(data);
								if (data.code == "0000") {
									$("#checkListTable").bootstrapTable('refresh');
									swal_Tips_Short(data.message);
									console.log(_fItemID);
									console.log(row.fName);
								} else if (data.code == "9999") {
									swal_Tips(data.message);
								}
							},
							error : function(request) {
								swal_Tips_Error();
								console.log(_fItemID);
								console.log(row.fName);
							},
							complete: function () {
								console.log(_fItemID);
								console.log(row.fName);
							}
						});
					}
				}
			)
		}
};

/*
 * @Description: 新增检查项钮点击事件
 * @param :
 */
$("#addCheck").click(function() {
	if($("#fItemID").val() == ""){
		swal_Tips('请选择物料!');
	}else{
		$('#checkListTable').bootstrapTable('append',{});
	}
});
/*
 * @Description: 检查列表按回车事件
 * @param :
 */
/*$('#checkListTable').on('keydown','input',function(e){
	e = e || window.event;
	var key = e.keyCode || e.which || e.charCode;
	if(key == 13){
		var inputarray =  $('#checkListTable input');
		nextindex = inputarray.index(this)+1;
		if (nextindex >= inputarray.length){
			$('#checkListTable').bootstrapTable('append',{});
		}
		next = inputarray[nextindex];
		next.focus();
	}
});*/
/*
 * @Description: 工序下拉框点击事件
 * @param :
 */
$('#procedure').on('show.bs.select', function (e) {
	var s = $("#procedure option").size();
	if(s < 1){
		swal_Tips("请先选择物料！");
	}
});
/*
 * @Description: 工序下拉框改变事件
 * @param :
 */
$("#procedure").change(function(){
	initCheckListTable();
});
/*
 * @Description: 保存按钮点击事件
 * @param :
 */
$("#save").click(function(){
	var fItemID =  $("#fItemID").val();
	var procedure =  $("#procedure").val();
	var procedureT =  $("#procedure").text();
	var checkListData = $("#checkListTable").bootstrapTable('getData');
	checkDatas = [];
	if(fItemID == ""){
		swal_Tips('请选择物料!');
		return false;
	}
	if(checkListData.length == 0){
		swal_Tips('请添加检查项!');
		return false;
	}
	$.each(checkListData,function(i,value){
		if(value.fName == "" && i == 0){
			swal_Tips('请输入检查项名称!');
			return false;
		}
		if(value.fName != ""){
			value=JSON.stringify(value)
			checkDatas[i] = value;
		}
	});
	if(checkDatas.length != 0){
		var data = {};
		if($("#procedure").is(":hidden")){//判断选择工序下拉框是否隐藏
			procedure = -1;
			data.fOperSN = procedure;
			data.fOper = procedureT;
		}else{
			if(procedure==""){
				procedure = -1;
			}
			data.fOperSN = procedure;
			data.fOper = procedureT;
		}
		data.fNumber = fnumber;
		checkDatas = "["+checkDatas.join(",")+"]";
//		console.log(checkDatas)
//		console.log(typeof(checkDatas))
		data.fItemID = fItemID;
		data.datas = checkDatas;
		submission(data);
	}
});
/*
 * @Description: 批量保存按钮点击事件
 * @param :
 */
$("#saveB").click(function(){
	var fItemID = $("#fItemID").val();
	var procedure = $("#procedure").val();
	var procedureT = $("#procedure").find("option:selected").text();
	procedureT = procedureT.substring(procedureT.indexOf('-')+1);

	var checkListData = $("#checkListTable").bootstrapTable('getData');
	checkDatas = [];
	if(fItemID == ""){
		swal_Tips('请选择物料!');
		return false;
	}
	if(checkListData.length == 0){
		swal_Tips('请添加检查项!');
		return false;
	}
	$.each(checkListData,function(i,value){
		if(value.fName == "" && i == 0){
			swal_Tips('请输入检查项名称!');
			return false;
		}
		if(value.fName != ""){
			value=JSON.stringify(value)
			checkDatas[i] = value;
		}
	});
	if(checkDatas.length != 0){
		var data = {};
		if($("#procedure").is(":hidden")){//判断选择工序下拉框是否隐藏
			procedure = -1;
			data.fOperSN = procedure;
			data.fOper = procedureT;
		}else{
			if(procedure==""){
				procedure = -1;
			}
			data.fOperSN = procedure;
			data.fOper = procedureT;
		}
		data.fNumber = fnumber;
		data.fModel = fmodel;
		data.fName = fname;
		checkDatas = "["+checkDatas.join(",")+"]";
//		console.log(checkDatas)
//		console.log(typeof(checkDatas))
		data.fItemID = fItemID;
		data.datas = checkDatas;
		submissionB(data);
	}
});
/*
 * @Description: 提交方法
 * @param :
 */
function submission(data){
//	console.log(data)
	showLoading();
	$.ajax({
		url : pathUrl("checkTemplate/addTemplateNew.action"),
		type : 'POST',
		dataType : "JSON",
		data: data,
		success : function(data) {
//			console.log(data)
			if(data.code == "0000"){
				initCheckListTable();
				swal_Tips_Short(data.message);
			}else{
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 提交方法
 * @param :
 */
function submissionB(data){
//	console.log(data)
	showLoading();
	$.ajax({
		url : pathUrl("checkTemplate/addBTemplateNew.action"),
		type : 'POST',
		dataType : "JSON",
		data: data,
		success : function(data) {
//			console.log(data)
			if(data.code == "0000"){
				initCheckListTable();
				swal_Tips_Short(data.message);
			}else{
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 浏览器窗口大小改变后：
 * 				 class为ztree，divClassLeft，divClassRight的高度随之改变，
 * 				 divClassLeft的最大高度和最小高度随之改变
 * @param :
 */
function fnResize() {
	var height = $(window).height() - 15;//获取浏览器窗口大小
	document.getElementsByClassName("divClassLeft")[0].style.height = height +"px";
	document.getElementsByClassName("divClassLeft")[0].style.maxHeight = height +"px";
	document.getElementsByClassName("divClassLeft")[0].style.minHeight = height +"px";
	document.getElementsByClassName("divClassRight")[0].style.height = height +"px";
	document.getElementsByClassName("divClassRight")[0].style.maxHeight = height +"px";
	document.getElementsByClassName("divClassRight")[0].style.minHeight = height +"px";
}
/*
 * @Description: 浏览器窗口大小自适应
 * @param :
 */
$(window).resize(function() {
	window.setTimeout(function() {
		fnResize();
	}, 0);
});